Skip to content

Conversation

@osama-rizk
Copy link
Contributor

@osama-rizk osama-rizk commented Dec 2, 2025

Description of changes

This PR completes the Angular 14 to 19 migration for Amplify UI library by cleaning up remaining Angular 14 references and updating build system configurations.

Changes made:
• Updated Jest setup to use setupZoneTestEnv() from jest-preset-angular/setup-env/zone (replaces deprecated setup-jest import)
• Upgraded @testing-library/angular from v12.3.0 to v18.1.1 for Angular 19 compatibility
• Created MockFormFieldComponent stub to replace ng-mocks usage for Angular 19 validation requirements
• Removed Angular 14 specific logic from build system scripts (mega-app-copy-files.sh)
• Simplified USE_STANDALONE conditional logic for Angular 19+ minimum support
• Fixed angular.json buildTarget configuration for Angular 19 CLI compatibility
• Updated build system tests documentation to remove Angular 14 test matrix
• Updated troubleshooting examples to use current Angular versions
• Cleaned up repository-wide Angular 14 references

Note: Passing standalone: false in component decorators does not change the behavior and maintains backward compatibility. This keeps the existing behavior while ensuring Angular 19+ compatibility.

Issue #, if available

N/A - Migration cleanup task

Description of how you validated changes

• Built and ran tests locally - all pass as expected
• Updated Jest snapshots to match new testing library DOM structure
• Verified Angular 19 compatibility with proper component decorators
• For build system changes, verified by running the following commands:
• npm run setup:angular:angular-cli -- --framework-version latest --build-tool-version 19 --pkg-manager npm --tag latest
• npm run setup:angular:angular-cli -- --framework-version latest --build-tool-version latest --pkg-manager npm --tag latest

skipLibCheck Added

Added "skipLibCheck": true to resolve type incompatibilities with two dev dependencies:

  • @testing-library/angular - expects Binding export removed in Angular 19
  • @types/node vs @types/webpack-env - conflicting require variable declarations

These are dev-only type conflicts that don't affect runtime functionality. skipLibCheck bypasses library type checking while preserving type safety for our source code.

Checklist

• [x] Have read the Pull Request Guidelines
• [x] PR description included
• [x] yarn test passes and tests are updated/added
• [x] PR title and commit messages follow conventional commit syntax
• [x] If this change should result in a version bump, changeset added (This can be done after creating the PR.) This does
not apply to changes made to docs, e2e, examples, or other private packages.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@osama-rizk osama-rizk requested a review from a team as a code owner December 2, 2025 14:48
@changeset-bot
Copy link

changeset-bot bot commented Dec 2, 2025

🦋 Changeset detected

Latest commit: cec8efa

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@aws-amplify/ui-angular Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@osama-rizk osama-rizk added the run-tests Adding this label will trigger tests to run label Dec 2, 2025
@github-actions github-actions bot removed the run-tests Adding this label will trigger tests to run label Dec 2, 2025
@osama-rizk osama-rizk added the run-tests Adding this label will trigger tests to run label Dec 2, 2025
@github-actions github-actions bot removed the run-tests Adding this label will trigger tests to run label Dec 2, 2025
@osama-rizk osama-rizk added the run-tests Adding this label will trigger tests to run label Dec 3, 2025
@github-actions github-actions bot removed the run-tests Adding this label will trigger tests to run label Dec 3, 2025
@Simone319
Copy link
Contributor

Is this upgrade backwards compatible? Do we need to publish a new major version for it?

@osama-rizk
Copy link
Contributor Author

Is this upgrade backwards compatible? Do we need to publish a new major version for it?

Yes, it maintains backward compatibility with all officially supported Angular versions. Therefore, publishing a new major version is not necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants